package com.xb.cloud.order.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SoSkuExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SoSkuExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNull() {
            addCriterion("company_id is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNotNull() {
            addCriterion("company_id is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdEqualTo(Long value) {
            addCriterion("company_id =", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotEqualTo(Long value) {
            addCriterion("company_id <>", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThan(Long value) {
            addCriterion("company_id >", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThanOrEqualTo(Long value) {
            addCriterion("company_id >=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThan(Long value) {
            addCriterion("company_id <", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThanOrEqualTo(Long value) {
            addCriterion("company_id <=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIn(List<Long> values) {
            addCriterion("company_id in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotIn(List<Long> values) {
            addCriterion("company_id not in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdBetween(Long value1, Long value2) {
            addCriterion("company_id between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotBetween(Long value1, Long value2) {
            addCriterion("company_id not between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdIsNull() {
            addCriterion("merchant_id is null");
            return (Criteria) this;
        }

        public Criteria andMerchantIdIsNotNull() {
            addCriterion("merchant_id is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantIdEqualTo(Long value) {
            addCriterion("merchant_id =", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotEqualTo(Long value) {
            addCriterion("merchant_id <>", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdGreaterThan(Long value) {
            addCriterion("merchant_id >", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdGreaterThanOrEqualTo(Long value) {
            addCriterion("merchant_id >=", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdLessThan(Long value) {
            addCriterion("merchant_id <", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdLessThanOrEqualTo(Long value) {
            addCriterion("merchant_id <=", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdIn(List<Long> values) {
            addCriterion("merchant_id in", values, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotIn(List<Long> values) {
            addCriterion("merchant_id not in", values, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdBetween(Long value1, Long value2) {
            addCriterion("merchant_id between", value1, value2, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotBetween(Long value1, Long value2) {
            addCriterion("merchant_id not between", value1, value2, "merchantId");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNull() {
            addCriterion("shop_id is null");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNotNull() {
            addCriterion("shop_id is not null");
            return (Criteria) this;
        }

        public Criteria andShopIdEqualTo(Long value) {
            addCriterion("shop_id =", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotEqualTo(Long value) {
            addCriterion("shop_id <>", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThan(Long value) {
            addCriterion("shop_id >", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThanOrEqualTo(Long value) {
            addCriterion("shop_id >=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThan(Long value) {
            addCriterion("shop_id <", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThanOrEqualTo(Long value) {
            addCriterion("shop_id <=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdIn(List<Long> values) {
            addCriterion("shop_id in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotIn(List<Long> values) {
            addCriterion("shop_id not in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdBetween(Long value1, Long value2) {
            addCriterion("shop_id between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotBetween(Long value1, Long value2) {
            addCriterion("shop_id not between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdIsNull() {
            addCriterion("end_user_id is null");
            return (Criteria) this;
        }

        public Criteria andEndUserIdIsNotNull() {
            addCriterion("end_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andEndUserIdEqualTo(Long value) {
            addCriterion("end_user_id =", value, "endUserId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdNotEqualTo(Long value) {
            addCriterion("end_user_id <>", value, "endUserId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdGreaterThan(Long value) {
            addCriterion("end_user_id >", value, "endUserId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("end_user_id >=", value, "endUserId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdLessThan(Long value) {
            addCriterion("end_user_id <", value, "endUserId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdLessThanOrEqualTo(Long value) {
            addCriterion("end_user_id <=", value, "endUserId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdIn(List<Long> values) {
            addCriterion("end_user_id in", values, "endUserId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdNotIn(List<Long> values) {
            addCriterion("end_user_id not in", values, "endUserId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdBetween(Long value1, Long value2) {
            addCriterion("end_user_id between", value1, value2, "endUserId");
            return (Criteria) this;
        }

        public Criteria andEndUserIdNotBetween(Long value1, Long value2) {
            addCriterion("end_user_id not between", value1, value2, "endUserId");
            return (Criteria) this;
        }

        public Criteria andSoIdIsNull() {
            addCriterion("so_id is null");
            return (Criteria) this;
        }

        public Criteria andSoIdIsNotNull() {
            addCriterion("so_id is not null");
            return (Criteria) this;
        }

        public Criteria andSoIdEqualTo(Long value) {
            addCriterion("so_id =", value, "soId");
            return (Criteria) this;
        }

        public Criteria andSoIdNotEqualTo(Long value) {
            addCriterion("so_id <>", value, "soId");
            return (Criteria) this;
        }

        public Criteria andSoIdGreaterThan(Long value) {
            addCriterion("so_id >", value, "soId");
            return (Criteria) this;
        }

        public Criteria andSoIdGreaterThanOrEqualTo(Long value) {
            addCriterion("so_id >=", value, "soId");
            return (Criteria) this;
        }

        public Criteria andSoIdLessThan(Long value) {
            addCriterion("so_id <", value, "soId");
            return (Criteria) this;
        }

        public Criteria andSoIdLessThanOrEqualTo(Long value) {
            addCriterion("so_id <=", value, "soId");
            return (Criteria) this;
        }

        public Criteria andSoIdIn(List<Long> values) {
            addCriterion("so_id in", values, "soId");
            return (Criteria) this;
        }

        public Criteria andSoIdNotIn(List<Long> values) {
            addCriterion("so_id not in", values, "soId");
            return (Criteria) this;
        }

        public Criteria andSoIdBetween(Long value1, Long value2) {
            addCriterion("so_id between", value1, value2, "soId");
            return (Criteria) this;
        }

        public Criteria andSoIdNotBetween(Long value1, Long value2) {
            addCriterion("so_id not between", value1, value2, "soId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdIsNull() {
            addCriterion("parent_so_sku_id is null");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdIsNotNull() {
            addCriterion("parent_so_sku_id is not null");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdEqualTo(Long value) {
            addCriterion("parent_so_sku_id =", value, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdNotEqualTo(Long value) {
            addCriterion("parent_so_sku_id <>", value, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdGreaterThan(Long value) {
            addCriterion("parent_so_sku_id >", value, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdGreaterThanOrEqualTo(Long value) {
            addCriterion("parent_so_sku_id >=", value, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdLessThan(Long value) {
            addCriterion("parent_so_sku_id <", value, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdLessThanOrEqualTo(Long value) {
            addCriterion("parent_so_sku_id <=", value, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdIn(List<Long> values) {
            addCriterion("parent_so_sku_id in", values, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdNotIn(List<Long> values) {
            addCriterion("parent_so_sku_id not in", values, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdBetween(Long value1, Long value2) {
            addCriterion("parent_so_sku_id between", value1, value2, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andParentSoSkuIdNotBetween(Long value1, Long value2) {
            addCriterion("parent_so_sku_id not between", value1, value2, "parentSoSkuId");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNull() {
            addCriterion("product_id is null");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNotNull() {
            addCriterion("product_id is not null");
            return (Criteria) this;
        }

        public Criteria andProductIdEqualTo(Long value) {
            addCriterion("product_id =", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotEqualTo(Long value) {
            addCriterion("product_id <>", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThan(Long value) {
            addCriterion("product_id >", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {
            addCriterion("product_id >=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThan(Long value) {
            addCriterion("product_id <", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThanOrEqualTo(Long value) {
            addCriterion("product_id <=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdIn(List<Long> values) {
            addCriterion("product_id in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotIn(List<Long> values) {
            addCriterion("product_id not in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdBetween(Long value1, Long value2) {
            addCriterion("product_id between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotBetween(Long value1, Long value2) {
            addCriterion("product_id not between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andProductVersionIsNull() {
            addCriterion("product_version is null");
            return (Criteria) this;
        }

        public Criteria andProductVersionIsNotNull() {
            addCriterion("product_version is not null");
            return (Criteria) this;
        }

        public Criteria andProductVersionEqualTo(Integer value) {
            addCriterion("product_version =", value, "productVersion");
            return (Criteria) this;
        }

        public Criteria andProductVersionNotEqualTo(Integer value) {
            addCriterion("product_version <>", value, "productVersion");
            return (Criteria) this;
        }

        public Criteria andProductVersionGreaterThan(Integer value) {
            addCriterion("product_version >", value, "productVersion");
            return (Criteria) this;
        }

        public Criteria andProductVersionGreaterThanOrEqualTo(Integer value) {
            addCriterion("product_version >=", value, "productVersion");
            return (Criteria) this;
        }

        public Criteria andProductVersionLessThan(Integer value) {
            addCriterion("product_version <", value, "productVersion");
            return (Criteria) this;
        }

        public Criteria andProductVersionLessThanOrEqualTo(Integer value) {
            addCriterion("product_version <=", value, "productVersion");
            return (Criteria) this;
        }

        public Criteria andProductVersionIn(List<Integer> values) {
            addCriterion("product_version in", values, "productVersion");
            return (Criteria) this;
        }

        public Criteria andProductVersionNotIn(List<Integer> values) {
            addCriterion("product_version not in", values, "productVersion");
            return (Criteria) this;
        }

        public Criteria andProductVersionBetween(Integer value1, Integer value2) {
            addCriterion("product_version between", value1, value2, "productVersion");
            return (Criteria) this;
        }

        public Criteria andProductVersionNotBetween(Integer value1, Integer value2) {
            addCriterion("product_version not between", value1, value2, "productVersion");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnIsNull() {
            addCriterion("sku_name_cn is null");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnIsNotNull() {
            addCriterion("sku_name_cn is not null");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnEqualTo(String value) {
            addCriterion("sku_name_cn =", value, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnNotEqualTo(String value) {
            addCriterion("sku_name_cn <>", value, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnGreaterThan(String value) {
            addCriterion("sku_name_cn >", value, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnGreaterThanOrEqualTo(String value) {
            addCriterion("sku_name_cn >=", value, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnLessThan(String value) {
            addCriterion("sku_name_cn <", value, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnLessThanOrEqualTo(String value) {
            addCriterion("sku_name_cn <=", value, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnLike(String value) {
            addCriterion("sku_name_cn like", value, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnNotLike(String value) {
            addCriterion("sku_name_cn not like", value, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnIn(List<String> values) {
            addCriterion("sku_name_cn in", values, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnNotIn(List<String> values) {
            addCriterion("sku_name_cn not in", values, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnBetween(String value1, String value2) {
            addCriterion("sku_name_cn between", value1, value2, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuNameCnNotBetween(String value1, String value2) {
            addCriterion("sku_name_cn not between", value1, value2, "skuNameCn");
            return (Criteria) this;
        }

        public Criteria andSkuIdIsNull() {
            addCriterion("sku_id is null");
            return (Criteria) this;
        }

        public Criteria andSkuIdIsNotNull() {
            addCriterion("sku_id is not null");
            return (Criteria) this;
        }

        public Criteria andSkuIdEqualTo(Long value) {
            addCriterion("sku_id =", value, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuIdNotEqualTo(Long value) {
            addCriterion("sku_id <>", value, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuIdGreaterThan(Long value) {
            addCriterion("sku_id >", value, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuIdGreaterThanOrEqualTo(Long value) {
            addCriterion("sku_id >=", value, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuIdLessThan(Long value) {
            addCriterion("sku_id <", value, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuIdLessThanOrEqualTo(Long value) {
            addCriterion("sku_id <=", value, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuIdIn(List<Long> values) {
            addCriterion("sku_id in", values, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuIdNotIn(List<Long> values) {
            addCriterion("sku_id not in", values, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuIdBetween(Long value1, Long value2) {
            addCriterion("sku_id between", value1, value2, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuIdNotBetween(Long value1, Long value2) {
            addCriterion("sku_id not between", value1, value2, "skuId");
            return (Criteria) this;
        }

        public Criteria andSkuPriceIsNull() {
            addCriterion("sku_price is null");
            return (Criteria) this;
        }

        public Criteria andSkuPriceIsNotNull() {
            addCriterion("sku_price is not null");
            return (Criteria) this;
        }

        public Criteria andSkuPriceEqualTo(BigDecimal value) {
            addCriterion("sku_price =", value, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuPriceNotEqualTo(BigDecimal value) {
            addCriterion("sku_price <>", value, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuPriceGreaterThan(BigDecimal value) {
            addCriterion("sku_price >", value, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_price >=", value, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuPriceLessThan(BigDecimal value) {
            addCriterion("sku_price <", value, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_price <=", value, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuPriceIn(List<BigDecimal> values) {
            addCriterion("sku_price in", values, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuPriceNotIn(List<BigDecimal> values) {
            addCriterion("sku_price not in", values, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_price between", value1, value2, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_price not between", value1, value2, "skuPrice");
            return (Criteria) this;
        }

        public Criteria andSkuNumIsNull() {
            addCriterion("sku_num is null");
            return (Criteria) this;
        }

        public Criteria andSkuNumIsNotNull() {
            addCriterion("sku_num is not null");
            return (Criteria) this;
        }

        public Criteria andSkuNumEqualTo(Integer value) {
            addCriterion("sku_num =", value, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuNumNotEqualTo(Integer value) {
            addCriterion("sku_num <>", value, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuNumGreaterThan(Integer value) {
            addCriterion("sku_num >", value, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("sku_num >=", value, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuNumLessThan(Integer value) {
            addCriterion("sku_num <", value, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuNumLessThanOrEqualTo(Integer value) {
            addCriterion("sku_num <=", value, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuNumIn(List<Integer> values) {
            addCriterion("sku_num in", values, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuNumNotIn(List<Integer> values) {
            addCriterion("sku_num not in", values, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuNumBetween(Integer value1, Integer value2) {
            addCriterion("sku_num between", value1, value2, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuNumNotBetween(Integer value1, Integer value2) {
            addCriterion("sku_num not between", value1, value2, "skuNum");
            return (Criteria) this;
        }

        public Criteria andSkuAmountIsNull() {
            addCriterion("sku_amount is null");
            return (Criteria) this;
        }

        public Criteria andSkuAmountIsNotNull() {
            addCriterion("sku_amount is not null");
            return (Criteria) this;
        }

        public Criteria andSkuAmountEqualTo(BigDecimal value) {
            addCriterion("sku_amount =", value, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andSkuAmountNotEqualTo(BigDecimal value) {
            addCriterion("sku_amount <>", value, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andSkuAmountGreaterThan(BigDecimal value) {
            addCriterion("sku_amount >", value, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andSkuAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_amount >=", value, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andSkuAmountLessThan(BigDecimal value) {
            addCriterion("sku_amount <", value, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andSkuAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_amount <=", value, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andSkuAmountIn(List<BigDecimal> values) {
            addCriterion("sku_amount in", values, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andSkuAmountNotIn(List<BigDecimal> values) {
            addCriterion("sku_amount not in", values, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andSkuAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_amount between", value1, value2, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andSkuAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_amount not between", value1, value2, "skuAmount");
            return (Criteria) this;
        }

        public Criteria andIsLeafIsNull() {
            addCriterion("is_leaf is null");
            return (Criteria) this;
        }

        public Criteria andIsLeafIsNotNull() {
            addCriterion("is_leaf is not null");
            return (Criteria) this;
        }

        public Criteria andIsLeafEqualTo(Byte value) {
            addCriterion("is_leaf =", value, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andIsLeafNotEqualTo(Byte value) {
            addCriterion("is_leaf <>", value, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andIsLeafGreaterThan(Byte value) {
            addCriterion("is_leaf >", value, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andIsLeafGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_leaf >=", value, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andIsLeafLessThan(Byte value) {
            addCriterion("is_leaf <", value, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andIsLeafLessThanOrEqualTo(Byte value) {
            addCriterion("is_leaf <=", value, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andIsLeafIn(List<Byte> values) {
            addCriterion("is_leaf in", values, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andIsLeafNotIn(List<Byte> values) {
            addCriterion("is_leaf not in", values, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andIsLeafBetween(Byte value1, Byte value2) {
            addCriterion("is_leaf between", value1, value2, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andIsLeafNotBetween(Byte value1, Byte value2) {
            addCriterion("is_leaf not between", value1, value2, "isLeaf");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeIsNull() {
            addCriterion("sku_delivery_fee is null");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeIsNotNull() {
            addCriterion("sku_delivery_fee is not null");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeEqualTo(BigDecimal value) {
            addCriterion("sku_delivery_fee =", value, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeNotEqualTo(BigDecimal value) {
            addCriterion("sku_delivery_fee <>", value, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeGreaterThan(BigDecimal value) {
            addCriterion("sku_delivery_fee >", value, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_delivery_fee >=", value, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeLessThan(BigDecimal value) {
            addCriterion("sku_delivery_fee <", value, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_delivery_fee <=", value, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeIn(List<BigDecimal> values) {
            addCriterion("sku_delivery_fee in", values, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeNotIn(List<BigDecimal> values) {
            addCriterion("sku_delivery_fee not in", values, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_delivery_fee between", value1, value2, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_delivery_fee not between", value1, value2, "skuDeliveryFee");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountIsNull() {
            addCriterion("sku_promotion_discount is null");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountIsNotNull() {
            addCriterion("sku_promotion_discount is not null");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountEqualTo(BigDecimal value) {
            addCriterion("sku_promotion_discount =", value, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountNotEqualTo(BigDecimal value) {
            addCriterion("sku_promotion_discount <>", value, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountGreaterThan(BigDecimal value) {
            addCriterion("sku_promotion_discount >", value, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_promotion_discount >=", value, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountLessThan(BigDecimal value) {
            addCriterion("sku_promotion_discount <", value, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_promotion_discount <=", value, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountIn(List<BigDecimal> values) {
            addCriterion("sku_promotion_discount in", values, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountNotIn(List<BigDecimal> values) {
            addCriterion("sku_promotion_discount not in", values, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_promotion_discount between", value1, value2, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuPromotionDiscountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_promotion_discount not between", value1, value2, "skuPromotionDiscount");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponIsNull() {
            addCriterion("sku_delivery_fee_paid_by_coupon is null");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponIsNotNull() {
            addCriterion("sku_delivery_fee_paid_by_coupon is not null");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponEqualTo(BigDecimal value) {
            addCriterion("sku_delivery_fee_paid_by_coupon =", value, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponNotEqualTo(BigDecimal value) {
            addCriterion("sku_delivery_fee_paid_by_coupon <>", value, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponGreaterThan(BigDecimal value) {
            addCriterion("sku_delivery_fee_paid_by_coupon >", value, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_delivery_fee_paid_by_coupon >=", value, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponLessThan(BigDecimal value) {
            addCriterion("sku_delivery_fee_paid_by_coupon <", value, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_delivery_fee_paid_by_coupon <=", value, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponIn(List<BigDecimal> values) {
            addCriterion("sku_delivery_fee_paid_by_coupon in", values, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponNotIn(List<BigDecimal> values) {
            addCriterion("sku_delivery_fee_paid_by_coupon not in", values, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_delivery_fee_paid_by_coupon between", value1, value2, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuDeliveryFeePaidByCouponNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_delivery_fee_paid_by_coupon not between", value1, value2, "skuDeliveryFeePaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponIsNull() {
            addCriterion("sku_paid_by_coupon is null");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponIsNotNull() {
            addCriterion("sku_paid_by_coupon is not null");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_coupon =", value, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponNotEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_coupon <>", value, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponGreaterThan(BigDecimal value) {
            addCriterion("sku_paid_by_coupon >", value, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_coupon >=", value, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponLessThan(BigDecimal value) {
            addCriterion("sku_paid_by_coupon <", value, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_coupon <=", value, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponIn(List<BigDecimal> values) {
            addCriterion("sku_paid_by_coupon in", values, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponNotIn(List<BigDecimal> values) {
            addCriterion("sku_paid_by_coupon not in", values, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_paid_by_coupon between", value1, value2, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByCouponNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_paid_by_coupon not between", value1, value2, "skuPaidByCoupon");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateIsNull() {
            addCriterion("sku_paid_by_rebate is null");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateIsNotNull() {
            addCriterion("sku_paid_by_rebate is not null");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_rebate =", value, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateNotEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_rebate <>", value, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateGreaterThan(BigDecimal value) {
            addCriterion("sku_paid_by_rebate >", value, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_rebate >=", value, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateLessThan(BigDecimal value) {
            addCriterion("sku_paid_by_rebate <", value, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_rebate <=", value, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateIn(List<BigDecimal> values) {
            addCriterion("sku_paid_by_rebate in", values, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateNotIn(List<BigDecimal> values) {
            addCriterion("sku_paid_by_rebate not in", values, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_paid_by_rebate between", value1, value2, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByRebateNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_paid_by_rebate not between", value1, value2, "skuPaidByRebate");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountIsNull() {
            addCriterion("sku_paid_by_account is null");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountIsNotNull() {
            addCriterion("sku_paid_by_account is not null");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_account =", value, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountNotEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_account <>", value, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountGreaterThan(BigDecimal value) {
            addCriterion("sku_paid_by_account >", value, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_account >=", value, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountLessThan(BigDecimal value) {
            addCriterion("sku_paid_by_account <", value, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sku_paid_by_account <=", value, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountIn(List<BigDecimal> values) {
            addCriterion("sku_paid_by_account in", values, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountNotIn(List<BigDecimal> values) {
            addCriterion("sku_paid_by_account not in", values, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_paid_by_account between", value1, value2, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByAccountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sku_paid_by_account not between", value1, value2, "skuPaidByAccount");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeIsNull() {
            addCriterion("sku_cs_adjust_fee is null");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeIsNotNull() {
            addCriterion("sku_cs_adjust_fee is not null");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeEqualTo(Long value) {
            addCriterion("sku_cs_adjust_fee =", value, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeNotEqualTo(Long value) {
            addCriterion("sku_cs_adjust_fee <>", value, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeGreaterThan(Long value) {
            addCriterion("sku_cs_adjust_fee >", value, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeGreaterThanOrEqualTo(Long value) {
            addCriterion("sku_cs_adjust_fee >=", value, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeLessThan(Long value) {
            addCriterion("sku_cs_adjust_fee <", value, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeLessThanOrEqualTo(Long value) {
            addCriterion("sku_cs_adjust_fee <=", value, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeIn(List<Long> values) {
            addCriterion("sku_cs_adjust_fee in", values, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeNotIn(List<Long> values) {
            addCriterion("sku_cs_adjust_fee not in", values, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeBetween(Long value1, Long value2) {
            addCriterion("sku_cs_adjust_fee between", value1, value2, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andSkuCsAdjustFeeNotBetween(Long value1, Long value2) {
            addCriterion("sku_cs_adjust_fee not between", value1, value2, "skuCsAdjustFee");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlIsNull() {
            addCriterion("product_pic_url is null");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlIsNotNull() {
            addCriterion("product_pic_url is not null");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlEqualTo(String value) {
            addCriterion("product_pic_url =", value, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlNotEqualTo(String value) {
            addCriterion("product_pic_url <>", value, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlGreaterThan(String value) {
            addCriterion("product_pic_url >", value, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlGreaterThanOrEqualTo(String value) {
            addCriterion("product_pic_url >=", value, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlLessThan(String value) {
            addCriterion("product_pic_url <", value, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlLessThanOrEqualTo(String value) {
            addCriterion("product_pic_url <=", value, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlLike(String value) {
            addCriterion("product_pic_url like", value, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlNotLike(String value) {
            addCriterion("product_pic_url not like", value, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlIn(List<String> values) {
            addCriterion("product_pic_url in", values, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlNotIn(List<String> values) {
            addCriterion("product_pic_url not in", values, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlBetween(String value1, String value2) {
            addCriterion("product_pic_url between", value1, value2, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andProductPicUrlNotBetween(String value1, String value2) {
            addCriterion("product_pic_url not between", value1, value2, "productPicUrl");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointIsNull() {
            addCriterion("sku_paid_by_point is null");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointIsNotNull() {
            addCriterion("sku_paid_by_point is not null");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointEqualTo(Integer value) {
            addCriterion("sku_paid_by_point =", value, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointNotEqualTo(Integer value) {
            addCriterion("sku_paid_by_point <>", value, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointGreaterThan(Integer value) {
            addCriterion("sku_paid_by_point >", value, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointGreaterThanOrEqualTo(Integer value) {
            addCriterion("sku_paid_by_point >=", value, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointLessThan(Integer value) {
            addCriterion("sku_paid_by_point <", value, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointLessThanOrEqualTo(Integer value) {
            addCriterion("sku_paid_by_point <=", value, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointIn(List<Integer> values) {
            addCriterion("sku_paid_by_point in", values, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointNotIn(List<Integer> values) {
            addCriterion("sku_paid_by_point not in", values, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointBetween(Integer value1, Integer value2) {
            addCriterion("sku_paid_by_point between", value1, value2, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPaidByPointNotBetween(Integer value1, Integer value2) {
            addCriterion("sku_paid_by_point not between", value1, value2, "skuPaidByPoint");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardIsNull() {
            addCriterion("sku_point_award is null");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardIsNotNull() {
            addCriterion("sku_point_award is not null");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardEqualTo(Integer value) {
            addCriterion("sku_point_award =", value, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardNotEqualTo(Integer value) {
            addCriterion("sku_point_award <>", value, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardGreaterThan(Integer value) {
            addCriterion("sku_point_award >", value, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardGreaterThanOrEqualTo(Integer value) {
            addCriterion("sku_point_award >=", value, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardLessThan(Integer value) {
            addCriterion("sku_point_award <", value, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardLessThanOrEqualTo(Integer value) {
            addCriterion("sku_point_award <=", value, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardIn(List<Integer> values) {
            addCriterion("sku_point_award in", values, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardNotIn(List<Integer> values) {
            addCriterion("sku_point_award not in", values, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardBetween(Integer value1, Integer value2) {
            addCriterion("sku_point_award between", value1, value2, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andSkuPointAwardNotBetween(Integer value1, Integer value2) {
            addCriterion("sku_point_award not between", value1, value2, "skuPointAward");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumIsNull() {
            addCriterion("frozen_real_stock_num is null");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumIsNotNull() {
            addCriterion("frozen_real_stock_num is not null");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumEqualTo(Integer value) {
            addCriterion("frozen_real_stock_num =", value, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumNotEqualTo(Integer value) {
            addCriterion("frozen_real_stock_num <>", value, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumGreaterThan(Integer value) {
            addCriterion("frozen_real_stock_num >", value, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("frozen_real_stock_num >=", value, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumLessThan(Integer value) {
            addCriterion("frozen_real_stock_num <", value, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumLessThanOrEqualTo(Integer value) {
            addCriterion("frozen_real_stock_num <=", value, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumIn(List<Integer> values) {
            addCriterion("frozen_real_stock_num in", values, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumNotIn(List<Integer> values) {
            addCriterion("frozen_real_stock_num not in", values, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumBetween(Integer value1, Integer value2) {
            addCriterion("frozen_real_stock_num between", value1, value2, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenRealStockNumNotBetween(Integer value1, Integer value2) {
            addCriterion("frozen_real_stock_num not between", value1, value2, "frozenRealStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumIsNull() {
            addCriterion("frozen_virtual_stock_num is null");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumIsNotNull() {
            addCriterion("frozen_virtual_stock_num is not null");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumEqualTo(Integer value) {
            addCriterion("frozen_virtual_stock_num =", value, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumNotEqualTo(Integer value) {
            addCriterion("frozen_virtual_stock_num <>", value, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumGreaterThan(Integer value) {
            addCriterion("frozen_virtual_stock_num >", value, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("frozen_virtual_stock_num >=", value, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumLessThan(Integer value) {
            addCriterion("frozen_virtual_stock_num <", value, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumLessThanOrEqualTo(Integer value) {
            addCriterion("frozen_virtual_stock_num <=", value, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumIn(List<Integer> values) {
            addCriterion("frozen_virtual_stock_num in", values, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumNotIn(List<Integer> values) {
            addCriterion("frozen_virtual_stock_num not in", values, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumBetween(Integer value1, Integer value2) {
            addCriterion("frozen_virtual_stock_num between", value1, value2, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andFrozenVirtualStockNumNotBetween(Integer value1, Integer value2) {
            addCriterion("frozen_virtual_stock_num not between", value1, value2, "frozenVirtualStockNum");
            return (Criteria) this;
        }

        public Criteria andProductTypeIsNull() {
            addCriterion("product_type is null");
            return (Criteria) this;
        }

        public Criteria andProductTypeIsNotNull() {
            addCriterion("product_type is not null");
            return (Criteria) this;
        }

        public Criteria andProductTypeEqualTo(Byte value) {
            addCriterion("product_type =", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotEqualTo(Byte value) {
            addCriterion("product_type <>", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeGreaterThan(Byte value) {
            addCriterion("product_type >", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("product_type >=", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeLessThan(Byte value) {
            addCriterion("product_type <", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeLessThanOrEqualTo(Byte value) {
            addCriterion("product_type <=", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeIn(List<Byte> values) {
            addCriterion("product_type in", values, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotIn(List<Byte> values) {
            addCriterion("product_type not in", values, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeBetween(Byte value1, Byte value2) {
            addCriterion("product_type between", value1, value2, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("product_type not between", value1, value2, "productType");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdIsNull() {
            addCriterion("sku_comment_id is null");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdIsNotNull() {
            addCriterion("sku_comment_id is not null");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdEqualTo(Long value) {
            addCriterion("sku_comment_id =", value, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdNotEqualTo(Long value) {
            addCriterion("sku_comment_id <>", value, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdGreaterThan(Long value) {
            addCriterion("sku_comment_id >", value, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdGreaterThanOrEqualTo(Long value) {
            addCriterion("sku_comment_id >=", value, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdLessThan(Long value) {
            addCriterion("sku_comment_id <", value, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdLessThanOrEqualTo(Long value) {
            addCriterion("sku_comment_id <=", value, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdIn(List<Long> values) {
            addCriterion("sku_comment_id in", values, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdNotIn(List<Long> values) {
            addCriterion("sku_comment_id not in", values, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdBetween(Long value1, Long value2) {
            addCriterion("sku_comment_id between", value1, value2, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andSkuCommentIdNotBetween(Long value1, Long value2) {
            addCriterion("sku_comment_id not between", value1, value2, "skuCommentId");
            return (Criteria) this;
        }

        public Criteria andWeightNetIsNull() {
            addCriterion("weight_net is null");
            return (Criteria) this;
        }

        public Criteria andWeightNetIsNotNull() {
            addCriterion("weight_net is not null");
            return (Criteria) this;
        }

        public Criteria andWeightNetEqualTo(BigDecimal value) {
            addCriterion("weight_net =", value, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightNetNotEqualTo(BigDecimal value) {
            addCriterion("weight_net <>", value, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightNetGreaterThan(BigDecimal value) {
            addCriterion("weight_net >", value, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightNetGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("weight_net >=", value, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightNetLessThan(BigDecimal value) {
            addCriterion("weight_net <", value, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightNetLessThanOrEqualTo(BigDecimal value) {
            addCriterion("weight_net <=", value, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightNetIn(List<BigDecimal> values) {
            addCriterion("weight_net in", values, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightNetNotIn(List<BigDecimal> values) {
            addCriterion("weight_net not in", values, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightNetBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight_net between", value1, value2, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightNetNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight_net not between", value1, value2, "weightNet");
            return (Criteria) this;
        }

        public Criteria andWeightGrossIsNull() {
            addCriterion("weight_gross is null");
            return (Criteria) this;
        }

        public Criteria andWeightGrossIsNotNull() {
            addCriterion("weight_gross is not null");
            return (Criteria) this;
        }

        public Criteria andWeightGrossEqualTo(BigDecimal value) {
            addCriterion("weight_gross =", value, "weightGross");
            return (Criteria) this;
        }

        public Criteria andWeightGrossNotEqualTo(BigDecimal value) {
            addCriterion("weight_gross <>", value, "weightGross");
            return (Criteria) this;
        }

        public Criteria andWeightGrossGreaterThan(BigDecimal value) {
            addCriterion("weight_gross >", value, "weightGross");
            return (Criteria) this;
        }

        public Criteria andWeightGrossGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("weight_gross >=", value, "weightGross");
            return (Criteria) this;
        }

        public Criteria andWeightGrossLessThan(BigDecimal value) {
            addCriterion("weight_gross <", value, "weightGross");
            return (Criteria) this;
        }

        public Criteria andWeightGrossLessThanOrEqualTo(BigDecimal value) {
            addCriterion("weight_gross <=", value, "weightGross");
            return (Criteria) this;
        }

        public Criteria andWeightGrossIn(List<BigDecimal> values) {
            addCriterion("weight_gross in", values, "weightGross");
            return (Criteria) this;
        }

        public Criteria andWeightGrossNotIn(List<BigDecimal> values) {
            addCriterion("weight_gross not in", values, "weightGross");
            return (Criteria) this;
        }

        public Criteria andWeightGrossBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight_gross between", value1, value2, "weightGross");
            return (Criteria) this;
        }

        public Criteria andWeightGrossNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight_gross not between", value1, value2, "weightGross");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}